Traffic Light Info

Traffic Light Info

Basic Requirements

All traffic lights have to follow certain requirements to ensure that accidents don't happen. Here are some of those requirements:

How They Work

Most traffic lights have a noticable pattern for when they change colour. The pattern I noticed was this:

  1. An easy place to start the curcuit is when both sets of lights are red; so both lights will be red for about 1 seconds.
  2. Then after they've both been red, Next keep one red 4 seconds and make the other one green for 4 seconds.
  3. Next keep the red one red for 2 seconds and make the green one turn yellow for 2 seconds.
  4. The make both red again for 1 second.
  5. The make the one that was green before stay red for 4 seconds and make the other one go to green for 4 seconds.
  6. keep the red one red for 2 seconds and make the green one yellow for 2 seconds.
  7. The make both red again and reset the curcuit.

Safety Info

A traffic light colour could be the difference between life and death. You should always know how to safely use traffic lights. Here's how:

My Code

Here's my code for a traffic light circuit I made.


		
/*Traffic Lights
2017-05-04 To 2017-05-05
Lucca*/

int ledRed1 = 10;
int ledYellow1 = 11;
int ledGreen1 = 12;

int ledRed2 = 7;
int ledYellow2 = 8;
int ledGreen2 = 9;

void setup() {
			  
	pinMode(ledYellow1, OUTPUT);
	pinMode(ledRed1, OUTPUT);
	pinMode(ledGreen1, OUTPUT);
			  
	pinMode(ledGreen2, OUTPUT);
	pinMode(ledYellow2, OUTPUT);
	pinMode(ledRed2, OUTPUT);
}

void loop() {


// First Round  

			  
	// Red 1 and Red 2
					
		digitalWrite(ledRed1, HIGH); // Turns ledRed1 On
		digitalWrite(ledRed2, HIGH); // Turns ledRed2 On
		delay(2000); // Wait 
							
							
		digitalWrite(ledRed1, LOW); // Turns ledRed1 Off
		digitalWrite(ledRed2, LOW); // Turns ledRed2 Off
		delay(0); // Wait 
		delay(0); // Wait 

	// Red 1 and Green 2

		digitalWrite(ledRed1, HIGH); // Turns ledRed1 On
		digitalWrite(ledGreen2, HIGH); // Turns ledGreen2 On
		delay(3000); // Wait 
							
		digitalWrite(ledRed1, LOW); // Turns ledRed1 Off
		digitalWrite(ledGreen2, LOW); // Turns ledGreen2 Off
		delay(0); // Wait
		delay(0); // Wait  

	// Red 1 and Yellow 2

		digitalWrite(ledRed1, HIGH); // Turns ledRed1 On
		digitalWrite(ledYellow2, HIGH); // Turns ledYellow2 On
		delay(1500); // Wait 
							
							
		digitalWrite(ledRed1, LOW); // Turns ledRed1 Off
		digitalWrite(ledYellow2, LOW); // Turns ledYellow2 Off
		delay(0); // Wait 
		delay(0); // Wait 

	// Red 1 and Red 2

		digitalWrite(ledRed1, HIGH); // Turns ledRed1 On
		digitalWrite(ledRed2, HIGH); // Turns ledRed2 On
		delay(2000); // Wait 
										
		digitalWrite(ledRed1, LOW); // Turns ledRed1 Off
		digitalWrite(ledRed2, LOW); // Turns ledRed2 Off
		delay(0); // Wait 
		delay(0); // Wait 


// Second Round


	// Red 2 and Green 1

		digitalWrite(ledRed2, HIGH); // Turns ledRed2 On
		digitalWrite(ledGreen1, HIGH); // Turns ledGreen1 On
		delay(3000); // Wait 
							
		digitalWrite(ledRed2, LOW); // Turns ledRed2 Off
		digitalWrite(ledGreen1, LOW); // Turns ledGreen1 Off
		delay(0); // Wait
		delay(0); // Wait  

	// Red 2 and Yellow 1

		digitalWrite(ledRed2, HIGH); // Turns ledRed2 On
		digitalWrite(ledYellow1, HIGH); // Turns ledYellow1 On
		delay(1500); // Wait 
							
							
		digitalWrite(ledRed2, LOW); // Turns ledRed2 Off
		digitalWrite(ledYellow1, LOW); // Turns ledYellow1 Off
		delay(0); // Wait 
		delay(0); // Wait 

}